package game.block.entity;

import game.block.command.Command;
import game.block.game.Board;
import game.block.tile.Tile;
import game.block.turn.Turn;

import com.badlogic.gdx.math.Vector2;

public abstract class TrapEntity extends Entity {

    private TRAPTYPE type;

    public TrapEntity(Vector2 pos, Tile tile, String path, TRAPTYPE type) {
        super(pos, tile, path);
        this.type = type;
    }

    @Override
    public void update(float delta) {

    }

    public abstract Command advance();
    
    public abstract Command retract();

    public abstract void applyEffect(MovableEntity block, Board gameBoard, Turn currentTurn, Tile tileMovedTo);

    public TRAPTYPE getType() {
        return type;
    }

    public void setType(TRAPTYPE type) {
        this.type = type;
    }

}
